이메일과 인터넷 기술의 발달로 작은 LAN 네트워크들이 하나의 큰 네트워크로 묶이면서 먼 거리에 있는 다른 LAN 간의 통신이 중요해졌습니다.
같은 네트워크 내 통신과 원격지 네트워크 간 통신은 동작 방식이나 필요한 네트워크 장비가 모두 다릅니다.
로컬 네트워크에서는 ARP 브로드캐스트를 이용해 도착지 MAC 주소를 학습할 수 있고 이 MAC 주소를 이용해 직접 통신할 수 있습니다.
반면 원격 네트워크 통신은 네트워크를 넘어 전달되지 못하는 브로드캐스트의 성질 때문에 네트워크 장비의 도움이 필요합니다.
이 장비를 ‘게이트웨이’라고 하고 게이트웨이에 대한 정보를 PC나 네트워크 장비에 설정하는 항목이 ‘기본 게이트웨이(Default Gateway)’입니다. 기본 게이트웨이는 3계층 장비가 수행하고 여러 네트워크와 연결되면서 적절한 경로를 지정해주는 역할을 합니다.
출발지와 목적지 네트워크가 동일한 LAN 내에서 통신하는 것인지, 서로 다른 네트워크 간의 통신인 확인하기 위해서 출발지에서는 먼저 목적지가 자신이 속한 네트워크의 범위인지 확인해야 합니다.
이때 사용되는 것이 서브넷 마스크입니다.
[네트워크] IP 주소의 3.3.3 내용에서 보듯이 IP 주소와 서브넷 마스크와의 연산을 통해 네트워크 범위를 알 수 있습니다.
프록시 ARP(Proxy ARP)는 ARP를 대행해주는 기능입니다.
원격지 통신은 기본 게이트웨이를 찾아 ARP 요청을 보내고 패킷을 기본 게이트웨이 쪽으로 보내야만 통신이 가능합니다.
하지만 기본 게이트웨이에 프록시 ARP가 활성화된 경우, 원격지 통신이더라도 로컬에 ARP 브로드캐스트를 보내 통신할 수 있습니다.
프록시 ARP 기능은 라우터에 기본으로 활성화되어 있어 사용자 몰래 동작하는 경우가 많습니다.
사용자 설정 없이 자동으로 동작해 편리한 것처럼 느껴지지만 네트워크에 설정 오류가 있거나 꼭 입력해야 할 설정이 되어 있지 않아도 동작하는 경우가 많아 장애가 발생했을 때 쉽게 해결할 수 없게 만드는 장애 요소가 되기도 합니다.
예를들어 PC에서 기본 게이트웨이가 잘못 입력되어 있어도 통신이 되는 경우가 발생할 수 있습니다. 이는 프록시 ARP가 엉뚱한 ARP 요청도 받아 처리해주기 때문입니다.
평소엔 프록시 ARP에 의해 문제 없이 통신되다가 라우터를 교체하거나 라우터의 구성을 변경할 때 장애가 발생합니다.
문제의 근본 원인은 PC에서 기본 게이트웨이를 잘못 설정한 것인데도 불구하고 라우터의 문제로 인식되어 근본적인 문제 해결에 방해가 됩니다.
2계층 통신, 3계층 통신은 정확한 표현은 아니지만 실무에서 많이 쓰이는 표현입니다.
정확한 표현으로는 로컬 네트워크 통신, 원격지 네트워크 통신입니다.
단말 간의 통신은 애플리케이션 계층부터 시작해 캡슐화, 디캡슐화를 거쳐 통신하는데 로컬 네트워크에서 직접 통신할 경우, 3계층의 네트워크 장비 도움 없이 통신이 가능합니다.
즉, 단말 간 연결해주는 네트워크 장비에서 2계층까지만 정보를 확인해 통신하고 ARP 요청을 보낼 때 직접 브로드캐스트를 이용하므로 2계층 통신(L2 통신)이라 부릅니다.
원격지 네트워크와 통신해야 할 경우, 라우터와 같은 3계층 장비의 도움이 없으면 통신할 수 없습니다.
해당 패킷을 전송하는 네트워크 장비에서 3계층 정보까지 확인해야 하며 이것을 3계층 통신(L3 통신)이라 부릅니다.
외부 네트워크와 통신이 필요할 때는 단말이 자신이 직접 보낼 수 없는 위치에 목적지가 있다고 판단하고 ARP 요청을 기본 게이트웨이의 IP 주소로 요청합니다.
게이트웨이에서 ARP 응답을 답은 단말은 도착지 MAC 주소에 응답받은 기본 게이트웨이의 MAC 주소를 넣고 통신을 시작합니다.
[IT 엔지니어를 위한 네트워크 입문] 도서를 참조해 공부한 내용입니다.
감사합니다.
Photographs by Chaelin, Unsplash.